﻿$(document).ready(function() {
    // initialize the CMS Attribute dialog used in creating and editing CMS attributes...
    $('#CmsAttributeDialog').dialog({
        autoOpen: false,
        buttons: {
            'Cancel': function() { $(this).dialog('close'); },
            'Ok': function() {
                // call the Attribute/Create method asynchronously...
                $.ajax({
                    url: 'Attribute/Create',
                    dataType: 'html',
                    type: 'POST',
                    success: function(msg) {
                        if (msg == '') {
                            $('#CmsAttributeDialog').dialog('close');
                            updateCmsAttributeList();
                        }
                        else
                            $('#CmsAttributeDialogContent').html(msg);
                    },
                    error: function(msg) {
                        window.alert('Unable to complete the operation. Please try again later.');
                    }
                });
            }
        },
        closeOnEscape: true,
        hide: 'slide',
        modal: true
    });

    // add an event handler to the click button of the CreateNewLink button...
    var $createAttributeTrigger = $('#CreateNewLink');
    $createAttributeTrigger.click(function() {
        $.ajax({
            url: 'Attribute/Create',
            dataType: 'html',
            type: 'GET',
            success: function(msg) {
                // render the form...
                $('#CmsAttributeDialogContent').html(msg);

                // initialize the form fields before showing the dialog...
                var $type = $('#Type');
                switch ($type.val()) {
                    case 'Currency':
                        break;
                    case 'DateTime':
                        break;
                    case 'Numeric':
                        break;
                    case 'Text':
                        break;
                    case 'YesNo':
                        break;
                }

                // open the dialog...
                $('#CmsAttributeDialog').dialog('open');

                $type.change(function() {
                    window.alert($(this).val());
                });
            },
            error: function(msg) {
                window.alert('Unable to open the Create Attribute dialog.');
            }
        });
    });
});

function updateCmsAttributeList() {
    $.ajax({
        url: 'Attribute/List',
        dataType: 'html',
        type: 'GET',
        success: function(msg) {
            $('#CmsAttributeList').html(msg);
        },
        error: function(msg) {
            window.alert('Unable to refresh the Attributes Grid.');
        }
    });
}